educational

Banner Rotation Using JavaScript

One of the most welcome "newbie" applications for JavaScript is as a means of banner rotation. While the more experienced Webmaster may shun such an application in favor of much more robust CGI/Perl, PHP, or other suitable technologies, these are often beyond the newbie's grasp (and budget), and likely not possible with most free hosted Web accounts. Here are three good examples of banner rotation using JavaScript:

BANNER ROTATOR #1
This script shows a random banner or other image along with a hyperlink and text description. This script is easily customizable for your page; simply change the linking urls, image urls, and the link names that you wish to display (be sure the order matches) and ensure that the last one of each type does not contain a comma (,) at the end.

<SCRIPT language="JavaScript">
<!-- BANNER ROTATOR #1

var currentdate = 0;
var core = 0;

This "weighted" rotation script not only displays your banners, but also controls how often they appear, allowing you to display a preferred banner over any others!

function initArray() {

this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}

link = new initArray(
"https://URL 1/",
"https://URL 2/",
"https://URL 3/"
);

image = new initArray(
"https://IMAGE 1.gif",
"https://IMAGE 2.gif",
"https://IMAGE 3.gif"
);

text = new initArray(
"DESCRIPTION 1",
"DESCRIPTION 2",
"DESCRIPTION 3"
);

var currentdate = new Date();
var core = currentdate.getSeconds() % image.length;
var ranlink = link[core];
var ranimage = image[core];
var rantext = text[core];

document.write('<a href=\"' +ranlink+ '\"><img src=\"'+ranimage+'\" border="0" alt=\"'+rantext+'\"></a>');

// BANNER ROTATOR #1 -->
</SCRIPT>

BANNER ROTATOR #2
This hot script will change banner images on the fly, with no need to reload the page! You can also adjust the amount of time that each banner is shown!

Place the following lines inside of your <HEAD></HEAD> tag:

<SCRIPT language="JavaScript">
<!-- BANNER ROTATOR #2
var mfBanners = [
['https://www.URL 1.com', 'https://BANNER 1.gif'],
['https://www.URL 2.com', 'https://BANNER 2.gif'],
['https://www.URL 3.com', 'https://BANNER 3.gif']
];
var mfIe = false;
if( document.all) {
mfIe = true;
}
var mfBannerIndex = 0;
function mfBannerChange() {
var htmlString = '<a target="_blank" href="'+mfBanners[mfBannerIndex][0]+'"> <img border="0" src="'+mfBanners[mfBannerIndex][1]+'"></a>';
if( mfIe) {
document.all.banner.innerHTML = htmlString;
}
else {
document.layers["banner"].document.open();
document.layers["banner"].document.write( htmlString);
document.layers["banner"].document.close();
}
if(mfBannerIndex < mfBanners.length - 1)
mfBannerIndex++;
else
mfBannerIndex = 0;
}
setInterval("mfBannerChange()", 5000);
// BANNER ROTATOR #2 -->
</SCRIPT>

Now put the following lines inside of your <BODY> code:

<DIV id="banner" style="position:absolute; top:300; left:171;"></DIV>

BANNER ROTATOR #3
This "weighted" rotation script not only displays your banners, but also controls how often they appear, allowing you to display a preferred banner over any others!

Place the following lines inside of your <HEAD></HEAD> tag:

<SCRIPT language="JavaScript">
<!-- BANNER ROTATOR #3
function banner(imgSource,url,alt,chance) {
this.imgSource = imgSource;
this.url = url;
this.alt = alt;
this.chance = chance;
}
function dispBanner() {
with (this) document.write("<A HREF=" + url + "><IMG SRC='" + imgSource + "' WIDTH=468 HEIGHT=60 BORDER=0 ALT='" + alt + "'></A>");
}
banner.prototype.dispBanner = dispBanner;
banners = new Array();
banners[0] = new banner("https://www.BANNER 1.jpg",
"https://www.URL 1.net target='_blank'",
"DESCRIPTION 1",
10);
banners[1] = new banner("https://BANNER 2.gif",
"https://www.URL 2.com target='_blank'",
"DESCRIPTION 2",
30);
banners[2] = new banner("https://BANNER 3.gif",
"https://www.URL 3.com target='_blank'",
"DESCRIPTION 3",
20);

///////////////////////////////////////////////////
// banners[x] = new banner(<banner source image>, // <url to link to when the banner is clicked>, // <alt> // <the chance this banner has in which to be randomly selected>);
// To increase the chance of a banner being randomly selected, increase it's corresponding // 'chance' property relative to the other banners.
///////////////////////////////////////////////////

sum_of_all_chances = 0;
for (i = 0; i < banners.length; i++) {
sum_of_all_chances += banners[i].chance;
}
function randomBanner() {
chance_limit = 0;
randomly_selected_chance = Math.round((sum_of_all_chances - 1) * Math.random()) + 1;
for (i = 0; i < banners.length; i++) {
chance_limit += banners[i].chance;
if (randomly_selected_chance <= chance_limit) {
document.write("<A HREF=" + banners[i].url + "><IMG SRC='" + banners[i].imgSource + "' WIDTH=468 HEIGHT=60 BORDER=0 ALT='" + banners[i].alt + "'></A>");
return banners[i];
break;
}
}
}
// BANNER ROTATOR #3 -->
</SCRIPT>

Hopefully one of these JavaScripts will allow you to maximize your advertising effectiveness by presenting a variety of banners to your site's visitors. Measuring which of several banners produces the best results will alow you to tailor your ad approach to your audience. Good Luck!

Copyright © 2025 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

opinion

From Compliance to Confidence: The Future of Safety in Adult Platforms

In numerous countries and U.S. states, laws now require platforms to prevent minors from accessing age-inappropriate material. But the need for safeguarding doesn’t end with age verification. Today’s online landscape also places adult companies at uniquely high risk for inadvertently facilitating exploitation, abuse or reputational harm, or of being accused of doing so.

Andy Lulham ·
opinion

What Adult Businesses Need to Know About Florida's Age Verification Law

The rise and proliferation of age verification laws has changed the landscape for the online adult industry. A recent and compelling example is the state of Florida, where Attorney General James Uthmeier has filed multiple complaints against major platforms as well as affiliates accused of violating the state’s AV law.

Corey D. Silverstein ·
opinion

Maintaining Brand Trust in the Face of Negative Press

Over the last year, several of our merchants have found themselves caught up in litigation over compliance with state age verification laws. Recently, Segpay itself was pulled into the spotlight, facing scrutiny over Florida’s AV statute, HB 3. These stories inevitably get picked up by both industry and mainstream news outlets.

Cathy Beardsley ·
opinion

How to Switch Payment Processors Without Disrupting Business

For many merchants, the idea of switching payment processors can feel pretty overwhelming. That’s understandable. After all, downtime can stall sales, recurring subscriptions can suddenly fail, or compliance gaps can put accounts at risk. Operating in a high-risk sector like the adult industry can further amplify the stress of transition.

Jonathan Corona ·
profile

WIA Profile: Katie

Katie is the ultimate girl’s girl. As community manager at Chaturbate, she answers DMs, remembers names, and shows up for creators and fellow businesswomen when it counts. She’s quick to credit the people around her, and careful to make space for others in every room she enters.

Women in Adult ·
opinion

How to Stay Legally Protected When Policies Get Outdated

The adult industry has long operated in a complex legal environment subject to rapid change. Now, a confluence of age verification laws, lawsuits, credit card processing and data privacy rules has created an urgent need for all industry participants — from major platforms to independent creators — to review and potentially overhaul their legal and operational policies.

Corey D. Silverstein ·
opinion

From Compliance Chaos to Crypto Clarity: Making the Case for Digital Payments in Adult

These are uncertain times for adult merchants. With compliance tightening and age verification mandates rising, the barrier to entry keeps getting higher.

Cathy Beardsley ·
opinion

Real-Time Insights to Streamline E-Payments and Stop Lost Sales

A slow checkout process is more than just annoying — it’s expensive. In a high-risk sector like the adult industry, even small delays or declined transactions can cost businesses thousands in lost revenue every month.

Jonathan Corona ·
profile

FSC's Valentine Leads Charge for Sex Worker Rights and Financial Access

Before ever stepping into a courtroom, Valentine already understood the power of presence. After all, they’ve shimmied on stages as a burlesque performer, consulted behind the scenes for creative businesses and moved through the adult industry not just as an advocate, but as a participant.

Jackie Backman ·
opinion

Breaking Down HB 805 and How it Affects the Adult Industry

North Carolina House Bill 805 was enacted July 29, after the state legislature overrode Governor Josh Stein’s veto. The provisions that relate to the adult industry, imposing requirements for age verification, consent and content removal, are scheduled to become effective Dec. 1. Platforms have until then to update their policies and systems to comply with the new regulations.

Corey D. Silverstein ·
Show More